home *** CD-ROM | disk | FTP | other *** search
- 100 '
- 200 ' BIOS Modification Program: MEM640
- 300 ' "CMDCOM.BAS" Last Update 07/13/83
- 400 '
- 500 'This program will read in an unmodified IBMBIO.COM (Release 2.0)
- 600 ' and produce an output file called NEWBIO.CMD.. which can be
- 700 ' renamed to IBMBIO.COM.. This output file will contain the
- 800 ' the modification to permit access to greater than 544K of memory
- 900 ' with the old PC-1 bios chip. Refer to MEM640.DOC before using
- 905 ' this program.
- 910 '
- 950 DEFINT A-Z
- 1000 BFIL$ = "IBMBIO.COM"
- 1100 CFIL$ = "NEWBIO.CMD"
- 1200 INPUT "Enter Drive where IBMBIO.COM resides",DRV$
- 1210 BFIL$=DRV$+BFIL$
- 1220 CFIL$=DRV$+CFIL$
- 1230 '
- 1240 OPEN BFIL$ FOR INPUT AS #1:CLOSE #1
- 1250 OPEN BFIL$ AS #1 LEN=1
- 1260 V= VARPTR(#1)
- 1270 L0=PEEK(V)
- 1280 IF L0 <>4 THEN GOTO 5000
- 1290 L1=PEEK(V+17) + 256 * PEEK(V+18) 'FILESIZE IN BYTES
- 1300 LIMIT = L1: IF LIMIT>6800 THEN PRINT "file too large":GOTO 5000 :
- 2000 'check base and change files for random, size and
- 2100 ' equal length .. abort if not correct conditions
- 2200 PRINT "BASE FILE SIZE = ",LIMIT
- 2300 READ T:PRINT "ORIGIN FILE SIZE = ",T
- 3000 DIM BB%(6800)
- 3002 FOR I = 1 TO 6800
- 3004 BB%(i) = 0
- 3006 NEXT i
- 3100 '
- 3200 FIELD #1,1 AS INB$
- 3300 '
- 3400 FOR I = 1 TO LIMIT
- 3410 GET #1,I
- 3420 BB%(I) = ASC(INB$)
- 3430 NEXT I
- 3431 CLOSE #1
- 3432 '
- 3440 READ BYTES:
- 3500 FOR I = 1 TO BYTES
- 3600 READ IKJ%,XOLD%,XNEW%
- 3700 IF BB%(IKJ%) <> XOLD% THEN GOTO 3950
- 3800 BB%(IKJ%) = XNEW%
- 3900 GOTO 4300
- 3950 PRINT "VERIFY REJECT AT ";IKJ%," (";XOLD%;" / ";XNEW%;") ":
- 4100 PRINT "TARGET FILE NEWBIO.COM UNUSABLE":
- 4200 END
- 4300 NEXT I
- 4500 '
- 4600 '
- 4610 OPEN CFIL$ FOR OUTPUT AS #2:CLOSE #2
- 4620 OPEN CFIL$ AS #2 LEN=1
- 4630 FIELD #2,1 AS INC$
- 4700 '
- 4710 FOR I = 1 TO LIMIT
- 4712 IF BB%(I)>255 THEN PRINT "FORMAT ERROR AT";I;" = ";BB%(I):
- 4720 LSET INC$ = CHR$(BB%(I))
- 4730 PUT #2,I
- 4740 NEXT I
- 4750 CLOSE #2
- 4760 '
- 4800 PRINT "File NEWBIO.COM Created .. Rename to Use"
- 4900 END
- 4990 ' ** DATA STATEMENT WRITE SUBROUTINE
- 4991 '
- 4999 DATA 4656, 51
- 5000 data 745, 10, 0, 2010, 176, 233, 2011, 2, 244
- 5010 DATA 2012, 170, 9, 4561, 0, 80, 4562, 0, 6
- 5020 DATA 4563, 0, 87, 4564, 0, 49, 4565, 0, 192
- 5030 DATA 4566, 0, 142, 4567, 0, 192, 4568, 0, 191
- 5040 DATA 4569, 0, 114, 4570, 0, 4, 4571, 0, 184
- 5050 DATA 4572, 0, 33, 4573, 0, 67, 4574, 0, 38
- 5060 DATA 4575, 0, 59, 4576, 0, 5, 4577, 0, 116
- 5070 DATA 4578, 0, 21, 4579, 0, 191, 4580, 0, 19
- 5080 DATA 4581, 0, 4, 4582, 0, 184, 4583, 0, 128
- 5090 DATA 4584, 0, 2, 4585, 0, 171, 4586, 0, 184
- 5100 DATA 4587, 0, 64, 4588, 0, 2, 4589, 0, 171
- 5110 DATA 4590, 0, 232, 4591, 0, 16, 4593, 0, 191
- 5120 DATA 4594, 0, 114, 4595, 0, 4, 4596, 0, 184
- 5130 DATA 4597, 0, 33, 4598, 0, 67, 4599, 0, 171
- 5140 DATA 4600, 0, 95, 4601, 0, 7, 4602, 0, 88
- 5150 DATA 4603, 0, 176, 4604, 0, 2, 4605, 0, 170
- 5160 DATA 4606, 0, 233, 4607, 0, 220, 4608, 0, 245